iT邦幫忙

2024 iThome 鐵人賽

DAY 27
0
Modern Web

無限...寶石?畫布啦!系列 第 27

Day 27 | 前面轉個彎

  • 分享至 

  • xImage
  •  

day 27 banner

今天的 demo 主要會是貝茲曲線的編輯器

沒錯,因為我的庫存文章已經見底了 xD,目前人又在國外沒有什麼時間寫文章。

所以今天先用之前做過的小專案當作今天的 demo。

我後來也有實作一個新的版本的貝茲曲線編輯器,但是完成度沒有原本的高。

其實就是在前面幾天有稍微介紹過的賽道編輯器!

不過今天我會比較詳細介紹它要怎麼操作。

我先上連結

其實我大部分的操作邏輯是跟 blender 借鏡的。

首先一進到頁面會是 Object Mode ,在這個模式下你可以新增“不同”的曲線,要在這邊強調不同是因為等等在 Edit Mode 可以針對一條曲線去做線段的延伸,但是這個延伸並不是建立一個新的曲線而是在既有線段上做延伸。

Alt/Option 鍵可以切換 Object 跟 Edit Mode。

要在 Edit Mode 編輯曲線之前需要在 Object Mode 裡面先選取要編輯的曲線,這個選取是要點選右邊曲線的列表,被選取的曲線會是變成綠色的底色。

有選取的東西時,按 G 可以開始移動物體/控制點,移動到想要的地方的時候點擊滑鼠左鍵確定移動,或是按 ESC 來取消移動。

在 Object Mode 選取的東西就只有曲線。如果按著 Shift 可以同時選取很多個曲線,然後按 G 一起移動。

在 Edit Mode 主要要選取的東西就是貝茲曲線的控制點,每個曲線,或是曲線線段的端點都會有兩個連著的控制點。這兩個控制點與端點之前的線的顏色代表它的性質。

主要有三種性質:

  • vector: 這個控制點會直接指向下一個端點,如果沒有下一個端點,就不會有作用
  • aligned: 這個控制點會跟端點的另外一個控制點的方向連動(兩個控制點會需要維持一直線)
  • free: 這個控制點可以自由移動

控制點的選取就是直接點擊畫面上的控制點,被選取的控制點圓圈會被塗黑。

也是在選取控制點之後按下鍵盤的 G 可以移動控制點,也是一樣移動到想要的地方後按下滑鼠左鍵,按 ESC 鍵會取消這次移動。

貝茲曲線相關的操作好像大致上就是這樣,其他的就是跟賽道製作會比較有關係。

那今天大概就是這樣。

賽道製作的原始碼在這裡

不過這個專案有點久了,有些東西都還停留在 POC 的階段,沒有去整理,所以可能也是會看得蠻辛苦的。

那我們明天見!

最近文章沒有庫存了,不過剩下三天,我應該還是有機會可以完賽的吧?


上一篇
Day 26 | 手寫的從前
下一篇
Day 28 | 動起來,動起來
系列文
無限...寶石?畫布啦!30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言